/*
** Copyright (C) 2015-2016  Michael Roland <mi.roland@fh.hagenberg.at>
**                          FH OÖ Forschungs & Entwicklungs GmbH
**
** This program is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program.  If not, see <http://www.gnu.org/licenses/>.
**
*/
package org.simalliance.openmobileapi.service.terminals.exploit;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.io.Serializable;

public abstract class DumpableInfo implements Serializable {
    
    public abstract void dump(PrintStream out);
    
    @Override
    public String toString() {
        ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
        try {
            PrintStream printStream = new PrintStream(byteOutStream, false, "UTF-8");
            dump(printStream);
            printStream.flush();
            printStream.close();
            return byteOutStream.toString("UTF-8");
        } catch (Exception e) {
        }
        
        return "";
    }
}
